package chapter8;

import java.util.LinkedList;

/**
 * LinkedList实现了List接口和Deque接口，所以它可以使用索引来随机访问元素
 * 并且可以作为队列和栈来使用
 */
public class LinkedListTest {
    public static void main(String[] args) {
        LinkedList linkedList = new LinkedList();
        linkedList.offer("java");
        linkedList.push("python");
        linkedList.offerFirst("go");
        //以List的方式通过索引遍历集合
        for (int i = 0; i < linkedList.size(); i++) {
            System.out.println(linkedList.get(i));
        }
        //访问但不删除栈的元素
        System.out.println(linkedList.peekFirst());
        System.out.println(linkedList.peekLast());
        //弹出栈顶的元素
        System.out.println(linkedList.pop());
        System.out.println(linkedList);
        //访问并删除队列的最后一个元素
        System.out.println(linkedList.pollLast());
        System.out.println(linkedList);
    }
}
